package com.wind.taobao.api.jianghu.convert
{
	import com.wind.taobao.api.jianghu.model.SpaceUser;
	import com.wind.taobao.core.util.TaobaoConstants;

	import mx.collections.ArrayCollection;


	/**
	 * SpaceUser 转换器
	 * @author fxy
	 *
	 */
	public class SpaceUserConvert
	{
		/**
		 * 转换SpaceUser集合
		 */
		public static function convertSpaceUsers(value:Object, type:String="json"):ArrayCollection
		{
			var spaceUsers:ArrayCollection=new ArrayCollection();
			if (value != null)
			{
				if (type == TaobaoConstants.JSON)
				{
					if ((value as Array).length > 0)
					{
						for (var i:uint=0; i < (value as Array).length; i++)
						{
							spaceUsers.addItem(convertSpaceUser((value as Array)[i]));
						}
					}
				}
				else
				{
					//TODO
				}
			}
			return spaceUsers;
		}

		/**
		 * 转换SpaceUser
		 */
		public static function convertSpaceUser(value:Object, type:String="json"):SpaceUser
		{
			var spaceUser:SpaceUser=new SpaceUser();
			if (value == null)
				return spaceUser;
			if (type == TaobaoConstants.XML)
			{
				spaceUser=convertXMLToSpaceUser(XML(value), spaceUser);
			}
			else
			{
				spaceUser=convertJSONToSpaceUser(value, spaceUser);
			}
			return spaceUser;
		}

		/**
		 * JSON转换为SpaceUser
		 */
		private static function convertJSONToSpaceUser(json:Object, spaceUser:SpaceUser):SpaceUser
		{
			if (json.hasOwnProperty(TaobaoConstants.UID))
			{
				spaceUser.uid=json[TaobaoConstants.UID];
			}
			if (json.hasOwnProperty(TaobaoConstants.NICK))
			{
				spaceUser.nick=json[TaobaoConstants.NICK];
			}
			if (json.hasOwnProperty(TaobaoConstants.CONSTELLATION))
			{
				spaceUser.constellation=json[TaobaoConstants.CONSTELLATION];
			}
			if (json.hasOwnProperty(TaobaoConstants.SEX))
			{
				spaceUser.sex=json[TaobaoConstants.SEX];
			}
			if (json.hasOwnProperty(TaobaoConstants.REAL_NAME))
			{
				spaceUser.real_name=json[TaobaoConstants.REAL_NAME];
			}
			if (json.hasOwnProperty(TaobaoConstants.FAVORITE))
			{
				spaceUser.favorite=FavoriteConvert.convertFavorite(json[TaobaoConstants.FAVORITE]);
			}
			if (json.hasOwnProperty(TaobaoConstants.ICONS))
			{
				spaceUser.icons=IconConvert.convertIcon(json[TaobaoConstants.ICONS]);
			}
			return spaceUser;
		}

		/**
		 * XML转换为SpaceUser
		 */
		private static function convertXMLToSpaceUser(value:XML, spaceUser:SpaceUser):SpaceUser
		{
			return spaceUser;
		}
	}
}